home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
AIncludes
/
TimeObjects.a
< prev
next >
Wrap
Text File
|
1996-05-01
|
21KB
|
719 lines
;
; File: TimeObjects.a
;
; Contains: International Time Interfaces.
;
; Version: Technology: System 8
; Release: Universal Interfaces 3.0d3 on Copland DR1
;
; Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
;
; Bugs?: If you find a problem with this file, send the file and version
; information (from above) and the problem description to:
;
; Internet: apple.bugs@applelink.apple.com
; AppleLink: APPLE.BUGS
;
;
IF &TYPE('__TIMEOBJECTS__') = 'UNDEFINED' THEN
__TIMEOBJECTS__ SET 1
IF &TYPE('__CONDITIONALMACROS__') = 'UNDEFINED' THEN
include 'ConditionalMacros.a'
ENDIF
IF &TYPE('__KERNEL__') = 'UNDEFINED' THEN
include 'Kernel.a'
ENDIF
IF &TYPE('__LOCALEOBJECTS__') = 'UNDEFINED' THEN
include 'LocaleObjects.a'
ENDIF
IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
include 'OSUtils.a'
ENDIF
IF &TYPE('__TEXTOBJECTS__') = 'UNDEFINED' THEN
include 'TextObjects.a'
ENDIF
IF &TYPE('__TIMING__') = 'UNDEFINED' THEN
include 'Timing.a'
ENDIF
IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
include 'Types.a'
ENDIF
;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++ ++
; ++ Type definitions for Modern APIs ++
; ++ ++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;
IF FOR_SYSTEM8_PREEMPTIVE THEN
; Precision of TimeObject
; typedef UInt8 TimeObjectPrecision
kTONanosecondsPrecision EQU $00
kTOMicrosecondsPrecision EQU $01
kTOMillisecondsPrecision EQU $02
kTOSecondsPrecision EQU $03
kTOMinutesPrecision EQU $04
kTOHoursPrecision EQU $05
kTODaysPrecision EQU $06
; Maximun Time Object Precision
kTOMaxPrecision EQU $06
; typedef UInt32 TimeObjectNotificationRef
MachineLocationRecord RECORD 0
longitude ds.l 1 ; offset: $0 (0)
latitude ds.l 1 ; offset: $4 (4)
daylightSavingsDelta ds TimeObjectInterval ; offset: $8 (8)
utcDelta ds TimeObjectInterval ; offset: $18 (24)
sizeof EQU * ; size: $28 (40)
ENDR
; typedef struct MachineLocationRecord * MachineLocationRecordPtr
; typedef const struct MachineLocationRecord * ConstMachineLocationRecordPtr
UTCTimeRecord RECORD 0
era ds.w 1 ; offset: $0 (0) ; [0 = B.C.E., 1 = C.E. ]
year ds.w 1 ; offset: $2 (2) ; [0, 65535]
month ds.w 1 ; offset: $4 (4) ; [0,12]
day ds.w 1 ; offset: $6 (6) ; [0,32]
hour ds.w 1 ; offset: $8 (8) ; [0,23]
minute ds.w 1 ; offset: $A (10) ; [0,60]
seconds ds.w 1 ; offset: $C (12) ; [0,60]
milliseconds ds.w 1 ; offset: $E (14) ; [0,1e3)
microseconds ds.l 1 ; offset: $10 (16) ; [0,1e6)
nanoseconds ds.l 1 ; offset: $14 (20) ; [0,1e9)
precision ds.b 1 ; offset: $18 (24)
ORG 26
sizeof EQU * ; size: $1A (26)
ENDR
; typedef struct UTCTimeRecord * UTCTimeRecordPtr
; typedef const struct UTCTimeRecord * ConstUTCTimeRecordPtr
UTCTimeIntervalRecord RECORD 0
day ds.l 1 ; offset: $0 (0)
hour ds.l 1 ; offset: $4 (4)
minute ds.l 1 ; offset: $8 (8)
seconds ds.l 1 ; offset: $C (12)
milliseconds ds.l 1 ; offset: $10 (16)
microseconds ds.l 1 ; offset: $14 (20)
nanoseconds ds.l 1 ; offset: $18 (24)
precision ds.b 1 ; offset: $1C (28)
ORG 30
sizeof EQU * ; size: $1E (30)
ENDR
; typedef struct UTCTimeIntervalRecord * UTCTimeIntervalRecordPtr
; typedef const struct UTCTimeIntervalRecord * ConstUTCTimeIntervalRecordPtr
; typedef UInt32 TimeObjectConversionType
kUseRomanNumbers EQU 0
kUseNativeNumbers EQU 1
; typedef LocaleObjectRef CalendarObjectRef
; typedef TextObject TimeObjectFormatString
; DateTimeFormat Types:
; typedef UInt32 FormatStringRef
kPreferredDateTimeFormat EQU 0
kShortDateTimeFormat EQU 1
kLongDateTimeFormat EQU 2
kShortTimeFormat EQU 3
kLongTimeFormat EQU 4
ENDIF
;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++ ++
; ++ Type definitions for Legacy APIs ++
; ++ ++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;
IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
;
;
; Here are the current routine names and the translations to the older forms.
; Please use the newer forms in all new code and migrate the older names out of existing
; code as maintainance permits.
;
; New Name Old Name(s)
;
; DateString IUDatePString IUDateString
; InitDateCache
; LongDateString IULDateString
; LongTimeString IULTimeString
; StringToDate String2Date
; StringToTime
; TimeString IUTimeString IUTimePString
;
shortDate EQU 0
longDate EQU 1
abbrevDate EQU 2
; typedef SInt8 DateForm
; StringToDate status values
fatalDateTime EQU $8000 ; StringToDate and String2Time mask to a fatal error
longDateFound EQU 1 ; StringToDate mask to long date found
leftOverChars EQU 2 ; StringToDate & Time mask to warn of left over characters
sepNotIntlSep EQU 4 ; StringToDate & Time mask to warn of non-standard separators
fieldOrderNotIntl EQU 8 ; StringToDate & Time mask to warn of non-standard field order
extraneousStrings EQU 16 ; StringToDate & Time mask to warn of unparsable strings in text
tooManySeps EQU 32 ; StringToDate & Time mask to warn of too many separators
sepNotConsistent EQU 64 ; StringToDate & Time mask to warn of inconsistent separators
tokenErr EQU $8100 ; StringToDate & Time mask for 'tokenizer err encountered'
cantReadUtilities EQU $8200
dateTimeNotFound EQU $8400
dateTimeInvalid EQU $8800
; typedef short StringToDateStatus
; typedef short String2DateStatus
DateCacheRecord RECORD 0
hidden ds.w 256 ; offset: $0 (0) ; only for temporary use
sizeof EQU * ; size: $200 (512)
ENDR
; typedef struct DateCacheRecord * DateCachePtr
ENDIF
;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++ ++
; ++ Modern API Definitions ++
; ++ ++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;
IF FOR_SYSTEM8_PREEMPTIVE THEN
;
; *********************************************************
; *
; * TimeObject Constructors
; *
; *********************************************************
;
;
; extern OSStatus CreateTimeObject(TimeObjectPtr timeObject, ConstUTCTimeRecordPtr utcTime)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION CreateTimeObject
ENDIF
;
; extern OSStatus CreateTimeObjectInterval(TimeObjectIntervalPtr timeObjectInterval, ConstUTCTimeIntervalRecordPtr utcTimeInterval)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION CreateTimeObjectInterval
ENDIF
;
; *********************************************************
; *
; * Getter and Setter Functions for TimeObjects
; *
; *********************************************************
;
;
; extern OSStatus GetCurrentTime(TimeObjectPtr timeObj)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION GetCurrentTime
ENDIF
;
; extern OSStatus SetCurrentTime(ConstTimeObjectPtr timeObj)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SetCurrentTime
ENDIF
;
; *********************************************************
; *
; * Getter and Setter Functions for Machine Location
; *
; *********************************************************
;
;
; extern OSStatus GetMachineLocation(MachineLocationRecordPtr machineLocation)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION GetMachineLocation
ENDIF
;
; extern OSStatus SetMachineLocation(ConstMachineLocationRecordPtr machineLocation)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SetMachineLocation
ENDIF
;
; *********************************************************
; *
; * Getter and Setter Functions for TimeObjects Precision
; *
; *********************************************************
;
;
; extern OSStatus GetTimeObjectPrecision(ConstTimeObjectPtr timeObj, TimeObjectPrecision *precision)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION GetTimeObjectPrecision
ENDIF
;
; extern OSStatus SetTimeObjectPrecision(TimeObjectPtr timeObj, TimeObjectPrecision precision)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SetTimeObjectPrecision
ENDIF
;
; extern OSStatus GetTimeObjectIntervalPrecision(ConstTimeObjectIntervalPtr timeObj, TimeObjectPrecision *precision)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION GetTimeObjectIntervalPrecision
ENDIF
;
; extern OSStatus SetTimeObjectIntervalPrecision(TimeObjectIntervalPtr timeObj, TimeObjectPrecision precision)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SetTimeObjectIntervalPrecision
ENDIF
;
; *********************************************************
; *
; * Timers
; *
; *********************************************************
;
;
; extern OSStatus CreateTimeObjectNotifier(ConstTimeObjectPtr timeObject, KernelNotification *notifier, TimeObjectNotificationRef *notificationRef)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION CreateTimeObjectNotifier
ENDIF
;
; extern OSStatus CancelTimeObjectNotifier(TimeObjectNotificationRef notificationRef)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION CancelTimeObjectNotifier
ENDIF
;
; *********************************************************
; *
; * Manipulation and Comparison functions for TimeObjects
; *
; *********************************************************
;
;
; extern OSStatus AddToFixedTimeObject(ConstTimeObjectPtr fixedTimeObj, ConstTimeObjectIntervalPtr offsetTimeObj, TimeObjectPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION AddToFixedTimeObject
ENDIF
;
; extern OSStatus AddTimeObjectIntervals(ConstTimeObjectIntervalPtr timeObj1, ConstTimeObjectIntervalPtr timeObj2, TimeObjectIntervalPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION AddTimeObjectIntervals
ENDIF
;
; extern OSStatus SubtractFromFixedTimeObject(ConstTimeObjectPtr fixedTimeObj, ConstTimeObjectIntervalPtr offsetTimeObj, TimeObjectPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SubtractFromFixedTimeObject
ENDIF
;
; extern OSStatus SubtractTimeObjectIntervals(ConstTimeObjectIntervalPtr timeObj1, ConstTimeObjectIntervalPtr timeObj2, TimeObjectIntervalPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SubtractTimeObjectIntervals
ENDIF
;
; extern OSStatus SubtractFixedTimeObjects(ConstTimeObjectPtr timeObj1, ConstTimeObjectPtr timeObj2, TimeObjectIntervalPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SubtractFixedTimeObjects
ENDIF
;
; extern OSStatus CompareFixedTimeObjects(ConstTimeObjectPtr timeObj1, ConstTimeObjectPtr timeObj2, ConstTimeObjectIntervalPtr precision, SInt32 *result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION CompareFixedTimeObjects
ENDIF
;
; extern OSStatus CompareTimeObjectIntervals(ConstTimeObjectIntervalPtr timeObj1, ConstTimeObjectIntervalPtr timeObj2, ConstTimeObjectIntervalPtr precision, SInt32 *result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION CompareTimeObjectIntervals
ENDIF
;
; *********************************************************
; *
; * TimeObjects to Seconds from 1/1/04 conversion functions
; *
; *********************************************************
;
;
; extern OSStatus ConvertSecondsToTimeObject(UInt32 seconds, TimeObjectPtr convertedTimeObj)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertSecondsToTimeObject
ENDIF
;
; extern OSStatus ConvertTimeObjectToSeconds(ConstTimeObjectPtr timeObj, UInt32 *seconds)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeObjectToSeconds
ENDIF
;
; extern OSStatus ConvertLongDateTimeToTimeObject(LongDateTime *longDateTime, TimeObjectPtr convertedTimeObj)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertLongDateTimeToTimeObject
ENDIF
;
; extern OSStatus ConvertTimeObjectToLongDateTime(ConstTimeObjectPtr timeObj, LongDateTime *longDateTime)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeObjectToLongDateTime
ENDIF
;
; *********************************************************
; *
; * TimeObjectIntervals to Nanosecond conversion functions
; *
; *********************************************************
;
;
; extern OSStatus ConvertTimeObjectIntervalToNanoseconds(ConstTimeObjectIntervalPtr source, Nanoseconds *result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeObjectIntervalToNanoseconds
ENDIF
;
; extern OSStatus ConvertNanosecondsToTimeObjectInterval(Nanoseconds *source, TimeObjectIntervalPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertNanosecondsToTimeObjectInterval
ENDIF
;
; *********************************************************
; *
; * Internet Time/Mail Conversion Routines
; *
; *********************************************************
;
;
; extern OSStatus ConvertTimeObjectToInternetMailTime(ConstTimeObjectPtr source, TextObject result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeObjectToInternetMailTime
ENDIF
;
; extern OSStatus ConvertInternetMailTimeToTimeObject(TextObject source, TimeObjectPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertInternetMailTimeToTimeObject
ENDIF
;
; extern OSStatus ConvertTimeObjectToInternetTime(ConstTimeObjectPtr source, UInt32 *result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeObjectToInternetTime
ENDIF
;
; extern OSStatus ConvertInternetTimeToTimeObject(UInt32 internetTime, TimeObjectPtr result)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertInternetTimeToTimeObject
ENDIF
;
; *********************************************************
; *
; * Calendar Routines
; *
; *********************************************************
;
;
; extern OSStatus GetDefaultCalendar(LocaleRef theLocale, CalendarObjectRef *theCalendar)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION GetDefaultCalendar
ENDIF
;
; extern OSStatus GetDefaultSystemCalendar(CalendarObjectRef *theCalendar)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION GetDefaultSystemCalendar
ENDIF
;
; *********************************************************
; *
; * Text Conversion Routines
; *
; *********************************************************
;
;
; extern OSStatus ConvertTimeObjectToDateString(ConstTimeObjectPtr timeObj, CalendarObjectRef theCalendar, TextObject textObj, TimeObjectFormatString format, FormatStringRef formatSelector, TimeObjectConversionType conversionSelector)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeObjectToDateString
ENDIF
;
; extern OSStatus ConvertTimeObjectToTimeString(ConstTimeObjectIntervalPtr timeObjectInterval, CalendarObjectRef theCalendar, TextObject textObj, TimeObjectFormatString format, FormatStringRef formatSelector, TimeObjectConversionType conversionSelector)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeObjectToTimeString
ENDIF
;
; extern OSStatus ConvertDateStringToTimeObject(TimeObjectPtr timeObj, CalendarObjectRef theCalendar, TextObject textObj, TimeObjectConversionType conversionSelector)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertDateStringToTimeObject
ENDIF
;
; extern OSStatus ConvertTimeStringToTimeObject(TimeObjectIntervalPtr timeObjectInterval, CalendarObjectRef theCalendar, TextObject textObj, TimeObjectConversionType conversionSelector)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION ConvertTimeStringToTimeObject
ENDIF
ENDIF
;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ++ ++
; ++ Legacy API Definitions ++
; ++ ++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;
IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
;
; **************************************************************************************
; *
; * The following functions are new names that work on 68k and PowerPC
; *
; **************************************************************************************
;
;
; pascal OSErr InitDateCache(DateCachePtr theCache)
;
IF ¨ GENERATINGCFM THEN
Macro
_InitDateCache
move.l #$8204FFF8,-(sp)
dc.w $A8B5
EndM
ELSE
IMPORT_CFM_FUNCTION InitDateCache
ENDIF
;
; pascal StringToDateStatus StringToDate(Ptr textPtr, long textLen, DateCachePtr theCache, long *lengthUsed, LongDateRec *dateTime)
;
IF ¨ GENERATINGCFM THEN
Macro
_StringToDate
move.l #$8214FFF6,-(sp)
dc.w $A8B5
EndM
ELSE
IMPORT_CFM_FUNCTION StringToDate
ENDIF
;
; pascal StringToDateStatus StringToTime(Ptr textPtr, long textLen, DateCachePtr theCache, long *lengthUsed, LongDateRec *dateTime)
;
IF ¨ GENERATINGCFM THEN
Macro
_StringToTime
move.l #$8214FFF4,-(sp)
dc.w $A8B5
EndM
ELSE
IMPORT_CFM_FUNCTION StringToTime
ENDIF
;
; pascal void IUDateString(long dateTime, DateForm longFlag, Str255 result)
;
IF ¨ GENERATINGCFM THEN
Macro
_IUDateString
clr.w -(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION IUDateString
ENDIF
;
; pascal void IUTimeString(long dateTime, Boolean wantSeconds, Str255 result)
;
IF ¨ GENERATINGCFM THEN
Macro
_IUTimeString
move.w #$0002,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION IUTimeString
ENDIF
;
; pascal void IUDatePString(long dateTime, DateForm longFlag, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_IUDatePString
move.w #$000E,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION IUDatePString
ENDIF
;
; pascal void IUTimePString(long dateTime, Boolean wantSeconds, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_IUTimePString
move.w #$0010,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION IUTimePString
ENDIF
;
; pascal void IULDateString(LongDateTime *dateTime, DateForm longFlag, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_IULDateString
move.w #$0014,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION IULDateString
ENDIF
;
; pascal void IULTimeString(LongDateTime *dateTime, Boolean wantSeconds, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_IULTimeString
move.w #$0016,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION IULTimeString
ENDIF
;
; **************************************************************************************
; *
; * The following provide direct function prototypes for new names for 68k
; *
; **************************************************************************************
;
;
; pascal void DateString(long dateTime, DateForm longFlag, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_DateString
move.w #$000E,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION DateString
ENDIF
;
; pascal void TimeString(long dateTime, Boolean wantSeconds, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_TimeString
move.w #$0010,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION TimeString
ENDIF
;
; pascal void LongDateString(LongDateTime *dateTime, DateForm longFlag, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_LongDateString
move.w #$0014,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION LongDateString
ENDIF
;
; pascal void LongTimeString(LongDateTime *dateTime, Boolean wantSeconds, Str255 result, Handle intlHandle)
;
IF ¨ GENERATINGCFM THEN
Macro
_LongTimeString
move.w #$0016,-(sp)
dc.w $A9ED
EndM
ELSE
IMPORT_CFM_FUNCTION LongTimeString
ENDIF
ENDIF
ENDIF ; __TIMEOBJECTS__